

function disableSubmit(finalResult,submitButtonId) {
	if(finalResult) {
		document.getElementById(submitButtonId).disabled = true;
		return finalResult;
	}else {
		return finalResult;
	}
}
/**
 * 批量删除
 * @param action 表单的action属性,即处理删除的服务端组件的url
 * @param checkboxName 复选框的名称
 * @param formId 表单的id	
 */
function batchDelete(action,checkboxName,formId){
    if (!hasOneChecked(checkboxName)){
            alert('请选择要操作的对象!');
            return;
    }
    if (confirm('确定执行[删除]操作?')){
    	var form = $("#"+formId);
        form.attr('action',action);
        form.submit();
    }
}

function hasOneChecked(name){
    var items = document.getElementsByName(name);
    if (items.length > 0) {
        for (var i = 0; i < items.length; i++){
            if (items[i].checked == true){
                return true;
            }
        }
    } else {
        if (items.checked == true) {
            return true;
        }
    }
    return false;
}

function setAllCheckboxState(name,state) {
	var elms = document.getElementsByName(name);
	for(var i = 0; i < elms.length; i++) {
		elms[i].checked = state;
	}
}

function getReferenceForm(elm) {
	while(elm && elm.tagName != 'BODY') {
		if(elm.tagName == 'FORM') return elm;
		elm = elm.parentNode;
	}
	return null;
}

//乘法函数，用来得到精确的乘法结果
//说明：javascript的乘法结果会有误差，在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用：accMul(arg1,arg2)
//返回值：arg1乘以arg2的精确结果
function accMul(arg1, arg2) {
    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
    try { m += s1.split(".")[1].length; } catch (e) { }
    try { m += s2.split(".")[1].length; } catch (e) { }
    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
}
//小数位数控制，可以四舍五入
function Fractional(n,bit) {
    //小数保留位数
    //var bit = 2;
    //加上小数点后要扩充1位
    //bit++;
    //数字转为字符串
    n = n.toString();
    //获取小数点位置
    var point = n.indexOf('.');
    //n的长度大于保留位数长度
    if (n.length > point + bit) {
        //保留小数后一位是否大于4，大于4进位
        if (parseInt(n.substring(point + bit, point + bit + 1)) > 4) {
            return n.substring(0, point) + "." + (parseInt(n.substring(point + 1, point + bit)) + 1);
        }
        else {
            return n.substring(0, point) + n.substring(point, point + bit);
        }
    }
    return n;
}
